1. Field of the Invention
The invention relates to stored program controlled telecommunications switching systems, and more particularly, to a design and diagnostic tool for such systems.
2. History of the Related Art
Digital stored program controlled telecommunications switching exchanges are highly complex systems which contain numerous physical components all controlled by a computer containing many different interacting blocks of software. In order to process a telephone call within the system, it is necessary that these software blocks each perform their respective jobs of analysis and control in an interactive and virtually flawless fashion. Data are constantly being exchanged between different software blocks via software signals. The end result must be the accurate and timely processing of numerous signals to effect the control of various hardware components and set up the communication connections.
From time to time during the operation of a telecommunications switching exchange, particularly during the initial operation of new or upgraded software, various faults may occur in the switch leading to so-called "hung" devices or software elements. Such software faults occur because of an inability of the software within one or more of the blocks to process a particular event or sequence of events within the system. When a fault occurs, it is often necessary to either partially or completely restart the software block, or even the entire system, in order to eliminate the hung element and return the system to a state which is recognizable by the software for proper call processing.
Telecommunications switching exchanges are programmed to be responsive to the occurrence of various "events" within the system such as, for example, a subscriber going off-hook, the dialing of digits by a subscriber, a switch hook flash, or a subscriber going back on-hook. The occurrence of any of these, and other possible events, results in certain behavior within the software of the switching system as well as the assignment and deassignment of certain physical elements to effect completion of a call. When a software event occurs and results in a hung device or hung software, it is very important to be able to trace the sequence of events leading up to the hung condition in order to diagnose and eliminate the cause of the fault. Moreover, after corrections have been made to the software, it is also necessary to be able to recreate the order, sequence, and timing of the specific events which preceded the fault in order to ensure that the corrections work and to prevent recurrence of the fault.
In the past, one method which has been used to verify the correct operation of a telecommunication exchange is to obtain low-level printouts of all the program instructions which occurred in a particular call sequence. Such printouts or "tracings" are very detailed and are extremely difficult to understand even by trained technicians. Tracings are not an efficient solution to software fault location and correction.
Another method of verifying correct operation within a switching system is to actually perform the desired call and to observe the reactions of the exchange in completion of the call. This, however, is primarily a go/no-go determination and does not give the operator a detailed look at the actual sequence of computer instructions executed within the exchange in order to complete the call.
It would be highly desirable to have a method and tool by which software signals, data, order of execution, timing, relationships between parameters and other information from within the switch software or other situations within the telecommunications environment could be selected and collected to monitor the sequence of events leading up to the occurrence of a fault condition, and then used to reconstruct the same sequence of events to test corrections which are made to prevent recurrence of the fault. The present invention provides such a system and method.